Completed
Push — master ( dab75a...25c67f )
by Alejandro
13s queued 11s
created

CreateServer.test.js ➔ preventDefault   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 2
rs 10
c 0
b 0
f 0
cc 1
1
import React from 'react';
2
import { shallow } from 'enzyme';
3
import { identity } from 'ramda';
4
import createServerConstruct from '../../src/servers/CreateServer';
5
import { ServerForm } from '../../src/servers/helpers/ServerForm';
6
7
describe('<CreateServer />', () => {
8
  let wrapper;
9
  const ImportServersBtn = () => '';
10
  const createServerMock = jest.fn();
11
  const historyMock = {
12
    push: jest.fn(),
13
  };
14
  const createWrapper = (serversImported = false) => {
15
    const CreateServer = createServerConstruct(ImportServersBtn, () => [ serversImported, () => '' ]);
16
17
    wrapper = shallow(
18
      <CreateServer createServer={createServerMock} resetSelectedServer={identity} history={historyMock} />
19
    );
20
21
    return wrapper;
22
  };
23
24
  afterEach(() => {
25
    jest.resetAllMocks();
26
    wrapper && wrapper.unmount();
27
  });
28
29
  it('renders components', () => {
30
    const wrapper = createWrapper();
31
32
    expect(wrapper.find(ServerForm)).toHaveLength(1);
33
    expect(wrapper.find('.create-server__import-success-msg')).toHaveLength(0);
34
  });
35
36
  it('shows success message when imported is true', () => {
37
    const wrapper = createWrapper(true);
38
39
    expect(wrapper.find('.create-server__import-success-msg')).toHaveLength(1);
40
  });
41
42
  it('creates server and redirects to it when form is submitted', () => {
43
    const wrapper = createWrapper();
44
    const form = wrapper.find(ServerForm);
45
46
    form.simulate('submit', {});
47
48
    expect(createServerMock).toHaveBeenCalledTimes(1);
49
    expect(historyMock.push).toHaveBeenCalledTimes(1);
50
  });
51
});
52